
using System;

namespace LastFMGenNHibernate.EN.LastFM
{
        public class UsuarioRegistradoEN
        {
        /**
         *
         */

        private String nombre;

        /**
         *
         */

        private String correo;

        /**
         *
         */

        private bool suscrito;

        /**
         *
         */

        private Nullable<DateTime> fecha;

        /**
         *
         */

        private int tiempoEscuchado;

        /**
         *
         */

        private System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.EventoEN> evento;

        /**
         *
         */

        private System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.InvitacionEN> invitacion;

        /**
         *
         */

        private System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.InvitacionEN> invitacion_0;

        /**
         *
         */

        private int id;

        /**
         *
         */

        private bool sesionIniciada;

        /**
         *
         */

        private System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.CancionEN> cancionFavoritos;

        /**
         *
         */

        private System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.CancionEN> cancionColeccion;





        public virtual String Nombre { get { return nombre; } set { nombre = value;  } }


        public virtual String Correo { get { return correo; } set { correo = value;  } }


        public virtual bool Suscrito { get { return suscrito; } set { suscrito = value;  } }


        public virtual Nullable<DateTime> Fecha { get { return fecha; } set { fecha = value;  } }


        public virtual int TiempoEscuchado { get { return tiempoEscuchado; } set { tiempoEscuchado = value;  } }


        public virtual System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.EventoEN> Evento { get { return evento; } set { evento = value;  } }


        public virtual System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.InvitacionEN> Invitacion { get { return invitacion; } set { invitacion = value;  } }


        public virtual System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.InvitacionEN> Invitacion_0 { get { return invitacion_0; } set { invitacion_0 = value;  } }


        public virtual int Id { get { return id; } set { id = value;  } }


        public virtual bool SesionIniciada { get { return sesionIniciada; } set { sesionIniciada = value;  } }


        public virtual System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.CancionEN> CancionFavoritos { get { return cancionFavoritos; } set { cancionFavoritos = value;  } }


        public virtual System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.CancionEN> CancionColeccion { get { return cancionColeccion; } set { cancionColeccion = value;  } }



        public UsuarioRegistradoEN()
        {
        }



        public UsuarioRegistradoEN(int id, String nombre, String correo, bool suscrito, Nullable<DateTime> fecha, int tiempoEscuchado, System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.EventoEN> evento, System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.InvitacionEN> invitacion, System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.InvitacionEN> invitacion_0, bool sesionIniciada, System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.CancionEN> cancionFavoritos, System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.CancionEN> cancionColeccion)
        {
                this.init (id, nombre, correo, suscrito, fecha, tiempoEscuchado, evento, invitacion, invitacion_0, sesionIniciada, cancionFavoritos, cancionColeccion);
        }


        public UsuarioRegistradoEN(UsuarioRegistradoEN usuarioRegistrado)
        {
                this.init (usuarioRegistrado.Id, usuarioRegistrado.Nombre, usuarioRegistrado.Correo, usuarioRegistrado.Suscrito, usuarioRegistrado.Fecha, usuarioRegistrado.TiempoEscuchado, usuarioRegistrado.Evento, usuarioRegistrado.Invitacion, usuarioRegistrado.Invitacion_0, usuarioRegistrado.SesionIniciada, usuarioRegistrado.CancionFavoritos, usuarioRegistrado.CancionColeccion);
        }

        private void init (int id, String nombre, String correo, bool suscrito, Nullable<DateTime> fecha, int tiempoEscuchado, System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.EventoEN> evento, System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.InvitacionEN> invitacion, System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.InvitacionEN> invitacion_0, bool sesionIniciada, System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.CancionEN> cancionFavoritos, System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.CancionEN> cancionColeccion)
        {
                this.Id = id;


                this.Nombre = nombre;

                this.Correo = correo;

                this.Suscrito = suscrito;

                this.Fecha = fecha;

                this.TiempoEscuchado = tiempoEscuchado;

                this.Evento = evento;

                this.Invitacion = invitacion;

                this.Invitacion_0 = invitacion_0;

                this.SesionIniciada = sesionIniciada;

                this.CancionFavoritos = cancionFavoritos;

                this.CancionColeccion = cancionColeccion;
        }

        public override bool Equals (object obj)
        {
                if (obj == null)
                        return false;
                UsuarioRegistradoEN t = obj as UsuarioRegistradoEN;
                if (t == null)
                        return false;
                if (Id.Equals (t.Id))
                        return true;
                else
                        return false;
        }

        public override int GetHashCode ()
        {
                int hash = 13;

                hash += (null == Id ? 0 : this.Id.GetHashCode ());
                return hash;
        }
        }
}
